package com.sz.virtualbank.dao.mapper;

import com.sz.virtualbank.dao.entity.SystemParam;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

/**
 * 系统参数Mapper接口
 * 
 * @author Claude
 */
@Mapper
public interface SystemParamMapper {
    
    /**
     * 新增系统参数
     *
     * @param systemParam 系统参数
     * @return 影响行数
     */
    int insert(SystemParam systemParam);
    
    /**
     * 更新系统参数
     *
     * @param systemParam 系统参数
     * @return 影响行数
     */
    int update(SystemParam systemParam);
    
    /**
     * 根据ID查询系统参数
     *
     * @param id 参数ID
     * @return 系统参数
     */
    SystemParam selectById(Long id);
    
    /**
     * 根据参数键查询系统参数
     *
     * @param paramKey 参数键
     * @return 系统参数
     */
    SystemParam selectByParamKey(String paramKey);
    
    /**
     * 查询所有系统参数
     *
     * @return 系统参数列表
     */
    List<SystemParam> selectAll();
    
    /**
     * 根据参数键删除系统参数
     *
     * @param paramKey 参数键
     * @return 影响行数
     */
    int deleteByParamKey(String paramKey);
    
    /**
     * 批量获取系统参数
     *
     * @param paramKeys 参数键列表
     * @return 系统参数列表
     */
    List<SystemParam> selectByParamKeys(List<String> paramKeys);
}
